package com.java.yz.day07.ketang;
/*
    super可以直接调用父类的成员变量，成员方法，直接父类的构造方法
    1.在初始化子类之前一定会先初始化其直接父类
    2.*****要想初始化子类，就必须要初始化其父类
    3.如果父类中没有无参构造构造方法，可以使用带参数的构造方法对父类进行初始化
 */
// 子类构造方法中第一句默认会有一个super（），而且java中的所有类都不能进行二次初始化
class Fa3{
    int age;
    String name;
    Fa3(int a){
        this.age=a;
    }
    public void eat(){
        System.out.println("吃饭");
    }
}
class So1 extends Fa3{
    int id;
    So1(){
        this("1");   //如果父类没有无参构造方法的话，我们这里的super();就会报错，所以这里面就要传参数
        System.out.println("你好");  //不写的话会有一个默认的super();而且在第一句话，放在别的地方就不可以
    }
    So1(String b){
        super(1);
    }
}
public class ExtendDemo4 {
    public static void main(String[] args) {
        So1 so1 = new So1();   //创建这个子类就会执行这个无参构造方法
        so1.eat();
    }
}
